1. Field of the Invention
The present invention relates to a data base processing apparatus suitable for a data processing system which is required to perform complex arithmetic operations including sorting and relational operations (or relational algebra) in a relational data base (RDB) as well as simple selection processing in data base processing.
2. Description of the Related Art
A "selecting apparatus" disclosed in Japanese Patent Application No. 62-24751 is known as a conventional data processing mechanism designed for a data base. According to this selecting apparatus, a CPU, a main memory, and an input/output channel unit are connected to each other through a system bus. In addition, a plurality of magnetic disk units are connected to the input/output channel unit together with the selecting apparatus through a magnetic disk controller. The selecting apparatus comprises a buffer, an extracting unit, a processing unit, and a read unit. The selecting apparatus realizes an efficient data retrieval system for directly receiving data read out from a given magnetic disk unit used as a large-capacity data file and selecting data satisfying given conditions, i.e., so-called on-the-fly processing.
More specifically, a processing target file stored in a given magnetic disk unit is read in the buffer memory of the selecting apparatus. Upon detection of a key field to be compared, the extracting unit extracts data of the key field, adds the start address of the data in the buffer memory to the key field, and outputs the key field to the processing unit. The processing unit compares the input key field with a predetermined criterion. If the key field satisfies the criterion, the processing unit outputs the start address, which is added by the extracting unit, to the read unit. The read unit outputs the corresponding data in the buffer memory onto the system bus on the basis of the input start address data.
This selecting apparatus, however, has the following drawbacks:
i) Processing such as sorting or relational operations cannot be performed with respect to files stored in magnetic disk units connected to different input/output channel units. This is because a selecting apparatus is independently connected to each input/output channel.
ii) Since the capacity of the buffer memory of a selecting apparatus is too small to process one file as a unit, the file must be divided into parts. Hence, processing efficiency is not good.
iii) The above start address data is not held in the buffer memory. Therefore, for example, if one file is divided into two files, and arithmetic operations are respectively performed for the divided files, these two files cannot be merged after the operations.